using System;
using System.Collections.Generic;

namespace Managistics.Model
{
    [Serializable()]
    public class Customer : Entity<string>
    {
        private City _city;
        private string _customername;
        private string _contactPerson;
        private string _addresscompany;
        private string _emailcompany;
        private string _websitecompany;
        private string _telephone;
        private string _cellphone;
        private string _bankAccountC1;
        private string _bankAccountC2;
        private string _bankAccountC3;
        private string _taxcode;
        private string _fax;
        private string _postcar;
        private bool _status;
        private int? _extendNumber;
        private string _addressDeliver1;
        private string _addressDeliver2;
        private string _addressDeliver3;
        public Customer()
        {
            ContactPersons = new List<ContactPerson>();
        }
        public virtual string Code {
            get {
                return this._id;
            }
            set {
                this._id = value;
            }
        }
        public virtual City City {
            get {
                return this._city;
            }
            set {
                this._city = value;
            }
        }
        public virtual string Name {
            get {
                return this._customername;
            }
            set {
                this._customername = value;
            }
        }
        public virtual string ContactPerson {
            get {
                return this._contactPerson;
            }
            set {
                this._contactPerson = value;
            }
        }
        public virtual string Address {
            get {
                return this._addresscompany;
            }
            set {
                this._addresscompany = value;
            }
        }
        public virtual string Email {
            get {
                return this._emailcompany;
            }
            set {
                this._emailcompany = value;
            }
        }
        public virtual string Website {
            get {
                return this._websitecompany;
            }
            set {
                this._websitecompany = value;
            }
        }
        public virtual string Telephone {
            get {
                return this._telephone;
            }
            set {
                this._telephone = value;
            }
        }
        public virtual string Cellphone {
            get {
                return this._cellphone;
            }
            set {
                this._cellphone = value;
            }
        }
        public virtual string BankAccountC1 {
            get {
                return this._bankAccountC1;
            }
            set {
                this._bankAccountC1 = value;
            }
        }
        public virtual string BankAccountC2 {
            get {
                return this._bankAccountC2;
            }
            set {
                this._bankAccountC2 = value;
            }
        }
        public virtual string BankAccountC3 {
            get {
                return this._bankAccountC3;
            }
            set {
                this._bankAccountC3 = value;
            }
        }
        public virtual string Taxcode {
            get {
                return this._taxcode;
            }
            set {
                this._taxcode = value;
            }
        }
        public virtual string Fax {
            get {
                return this._fax;
            }
            set {
                this._fax = value;
            }
        }
        public virtual string Postcar {
            get {
                return this._postcar;
            }
            set {
                this._postcar = value;
            }
        }
        public virtual bool Status {
            get {
                return this._status;
            }
            set {
                this._status = value;
            }
        }
        public virtual int? ExtendNumber {
            get {
                return this._extendNumber;
            }
            set {
                this._extendNumber = value;
            }
        }
        public virtual string AddressDeliver1 {
            get {
                return this._addressDeliver1;
            }
            set {
                this._addressDeliver1 = value;
            }
        }
        public virtual string AddressDeliver2 {
            get {
                return this._addressDeliver2;
            }
            set {
                this._addressDeliver2 = value;
            }
        }
        public virtual string AddressDeliver3 {
            get {
                return this._addressDeliver3;
            }
            set {
                this._addressDeliver3 = value;
            }
        }
        public virtual IList<ContactPerson> ContactPersons { get; set; }
    }

}
